package com.homedo.odin.solution.model.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.homedo.odin.solution.model.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import lombok.Data;

@ApiModel(description = "行业规范列表返回信息")
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class SpecificationListPriResponseBean extends BaseBean {

    /**
     * 规范编号
     */
    @ApiModelProperty("规范编号")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long specificationId;
    /**
     * 规范编号
     */
    @ApiModelProperty("规范编号")
    private String specificationIdStr;
    /**
     * 规范名称
     */
    @ApiModelProperty("规范名称")
    private String specificationName;

    /**
     * 一级规范分类
     */
    @ApiModelProperty("一级规范分类")
    private Integer firstClassify;
    /**
     * 一级规范分类_str
     */
    @ApiModelProperty("一级规范分类_str")
    private String firstClassifyStr;
    /**
     * 二级规范分类
     */
    @ApiModelProperty("二级规范分类")
    private Integer secondClassify;
    /**
     * 二级规范分类_str
     */
    @ApiModelProperty("二级规范分类_str")
    private String secondClassifyStr;

    /**
     * 规范状态（0：现行；1：即将实施；2：作废）
     */
    @ApiModelProperty("规范状态（0：现行；1：即将实施；2：作废）")
    private Integer specificationStatus;
    /**
     * 规范状态_str
     */
    @ApiModelProperty("规范状态_str")
    private String specificationStatusStr;
    /**
     * 规范来源（1：后台上传 2：前台上传）
     */
    @ApiModelProperty("规范来源（1：后台上传 2：前台上传）")
    private Integer formType;
    /**
     * 规范来源_str
     */
    @ApiModelProperty("规范来源_str")
    private String formTypeStr;
    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    private Integer userId;
    /**
     * 用户名称
     */
    @ApiModelProperty("用户名称")
    private String userName;
    /**
     * 收费
     */
    @ApiModelProperty("收费")
    private BigDecimal charges;

    /**
     * 支付次数
     */
    @ApiModelProperty("支付次数")
    private Integer payCount;

    /**
     * 累积收益
     */
    @ApiModelProperty("累积收益")
    private BigDecimal totalAmount;

    /**
     * 状态 10:待审核 20:审核通过 21:审核驳回 30:上架中 31:下架中
     */
    @ApiModelProperty("状态 10:待审核 20:审核通过 21:审核驳回 30:上架中 31:下架中")
    private Integer status;

    /**
     * 状态_str
     */
    @ApiModelProperty("状态 _str")
    private String statusStr;

    /**
     * 上架时间
     */
    @ApiModelProperty("上架时间")
    private Date shelveTime;
    /**
     * 最后更新时间
     */
    @ApiModelProperty("最后更新时间")
    private Date lastModifiedTime;

    @ApiModelProperty("支付记录")
    private List<UserPayRecordResponse> userPayRecordList;

}
